package com.tbit.common.entity.vo;

import cn.hutool.core.util.StrUtil;
import lombok.Data;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;

/**
 * @author: qiu.longjie
 * @create: 2025-05-03
 */
@Data
public class MainLogAuditBatchVo implements Serializable {

    /**
     * 主键id, 多个用英文逗号分隔
     */
    @NotNull(message = "主键id不能为空。")
    private String logIds;

    /**
     * 状态 0 无效 1 有效
     */
    @NotNull(message = "状态不能为空。0:无效,1:有效。")
    private Integer isValid;

    /**
     * 绩效值 允许不传，如果传值则不能为负数
     */
    @Min(value = 0, message = "绩效值不能小于0")
    private BigDecimal performance;

    /**
     * 备注
     */
    @NotNull(message = "备注不能为空。")
    private String remark;

    public List<Integer> getIds(){
        if (StrUtil.isEmpty(logIds)){
            return Collections.emptyList();
        }else {
            return Arrays.stream(logIds.split(",")).map(Integer::valueOf).collect(Collectors.toList());
        }
    }
}
